-
Notifications
You must be signed in to change notification settings - Fork 1.5k
/
UniqueComInterfaceMarshaller`1.xml
147 lines (147 loc) · 9.23 KB
/
UniqueComInterfaceMarshaller`1.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
<Type Name="UniqueComInterfaceMarshaller<T>" FullName="System.Runtime.InteropServices.Marshalling.UniqueComInterfaceMarshaller<T>">
<TypeSignature Language="C#" Value="public static class UniqueComInterfaceMarshaller<T>" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi abstract sealed beforefieldinit UniqueComInterfaceMarshaller`1<T> extends System.Object" />
<TypeSignature Language="DocId" Value="T:System.Runtime.InteropServices.Marshalling.UniqueComInterfaceMarshaller`1" />
<TypeSignature Language="VB.NET" Value="Public Class UniqueComInterfaceMarshaller(Of T)" />
<TypeSignature Language="F#" Value="type UniqueComInterfaceMarshaller<'T> = class" />
<TypeSignature Language="C++ CLI" Value="generic <typename T>
public ref class UniqueComInterfaceMarshaller abstract sealed" />
<AssemblyInfo>
<AssemblyName>System.Runtime.InteropServices</AssemblyName>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
<AssemblyVersion>9.0.0.0</AssemblyVersion>
</AssemblyInfo>
<TypeParameters>
<TypeParameter Name="T">
<Attributes>
<Attribute>
<AttributeName Language="C#">[System.Runtime.CompilerServices.Nullable(2)]</AttributeName>
<AttributeName Language="F#">[<System.Runtime.CompilerServices.Nullable(2)>]</AttributeName>
</Attribute>
</Attributes>
</TypeParameter>
</TypeParameters>
<Base>
<BaseTypeName>System.Object</BaseTypeName>
</Base>
<Interfaces />
<Attributes>
<Attribute>
<AttributeName Language="C#">[System.CLSCompliant(false)]</AttributeName>
<AttributeName Language="F#">[<System.CLSCompliant(false)>]</AttributeName>
</Attribute>
<Attribute>
<AttributeName Language="C#">[System.Runtime.InteropServices.Marshalling.CustomMarshaller(typeof(System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute+GenericPlaceholder), System.Runtime.InteropServices.Marshalling.MarshalMode.Default, typeof(System.Runtime.InteropServices.Marshalling.UniqueComInterfaceMarshaller<>))]</AttributeName>
<AttributeName Language="F#">[<System.Runtime.InteropServices.Marshalling.CustomMarshaller(typeof(System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute+GenericPlaceholder), System.Runtime.InteropServices.Marshalling.MarshalMode.Default, typeof(System.Runtime.InteropServices.Marshalling.UniqueComInterfaceMarshaller<>))>]</AttributeName>
</Attribute>
<Attribute>
<AttributeName Language="C#">[System.Runtime.Versioning.UnsupportedOSPlatform("android")]</AttributeName>
<AttributeName Language="F#">[<System.Runtime.Versioning.UnsupportedOSPlatform("android")>]</AttributeName>
</Attribute>
<Attribute>
<AttributeName Language="C#">[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]</AttributeName>
<AttributeName Language="F#">[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]</AttributeName>
</Attribute>
<Attribute>
<AttributeName Language="C#">[System.Runtime.Versioning.UnsupportedOSPlatform("ios")]</AttributeName>
<AttributeName Language="F#">[<System.Runtime.Versioning.UnsupportedOSPlatform("ios")>]</AttributeName>
</Attribute>
<Attribute>
<AttributeName Language="C#">[System.Runtime.Versioning.UnsupportedOSPlatform("tvos")]</AttributeName>
<AttributeName Language="F#">[<System.Runtime.Versioning.UnsupportedOSPlatform("tvos")>]</AttributeName>
</Attribute>
</Attributes>
<Docs>
<typeparam name="T">The managed type that represents a COM interface type</typeparam>
<summary>Marshals COM interfaces using a StrategyBasedComWrappers instance that only creates unique native object wrappers (RCWs).</summary>
<remarks>This marshaller always passes the <see cref="F:System.Runtime.InteropServices.CreateObjectFlags.Unwrap" /> and <see cref="F:System.Runtime.InteropServices.CreateObjectFlags.UniqueInstance" /> flags to <see cref="M:System.Runtime.InteropServices.ComWrappers.GetOrCreateObjectForComInstance(System.IntPtr,System.Runtime.InteropServices.CreateObjectFlags)" />.</remarks>
</Docs>
<Members>
<Member MemberName="ConvertToManaged">
<MemberSignature Language="C#" Value="public static T? ConvertToManaged (void* unmanaged);" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig !T ConvertToManaged(void* unmanaged) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Runtime.InteropServices.Marshalling.UniqueComInterfaceMarshaller`1.ConvertToManaged(System.Void*)" />
<MemberSignature Language="F#" Value="static member ConvertToManaged : nativeptr<unit> -> 'T" Usage="System.Runtime.InteropServices.Marshalling.UniqueComInterfaceMarshaller<'T>.ConvertToManaged unmanaged" />
<MemberSignature Language="C++ CLI" Value="public:
 static T ConvertToManaged(void* unmanaged);" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Runtime.InteropServices</AssemblyName>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
<AssemblyVersion>9.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>T</ReturnType>
<Attributes>
<Attribute FrameworkAlternate="net-8.0">
<AttributeName Language="C#">[System.Runtime.CompilerServices.Nullable(2)]</AttributeName>
<AttributeName Language="F#">[<System.Runtime.CompilerServices.Nullable(2)>]</AttributeName>
</Attribute>
</Attributes>
</ReturnValue>
<Parameters>
<Parameter Name="unmanaged" Type="System.Void*" />
</Parameters>
<Docs>
<param name="unmanaged">The COM interface pointer.</param>
<summary>Converts a COM interface pointer to a managed object.</summary>
<returns>A managed object that represents the passed in COM interface pointer, or the managed object represented by the passed in pointer.</returns>
<remarks>If the passed in COM interface pointer wraps a managed object, this method returns the underlying object.</remarks>
</Docs>
</Member>
<Member MemberName="ConvertToUnmanaged">
<MemberSignature Language="C#" Value="public static void* ConvertToUnmanaged (T? managed);" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig void* ConvertToUnmanaged(!T managed) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Runtime.InteropServices.Marshalling.UniqueComInterfaceMarshaller`1.ConvertToUnmanaged(`0)" />
<MemberSignature Language="F#" Value="static member ConvertToUnmanaged : 'T -> nativeptr<unit>" Usage="System.Runtime.InteropServices.Marshalling.UniqueComInterfaceMarshaller<'T>.ConvertToUnmanaged managed" />
<MemberSignature Language="C++ CLI" Value="public:
 static void* ConvertToUnmanaged(T managed);" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Runtime.InteropServices</AssemblyName>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
<AssemblyVersion>9.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void*</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="managed" Type="T">
<Attributes>
<Attribute>
<AttributeName Language="C#">[System.Runtime.CompilerServices.Nullable(2)]</AttributeName>
<AttributeName Language="F#">[<System.Runtime.CompilerServices.Nullable(2)>]</AttributeName>
</Attribute>
</Attributes>
</Parameter>
</Parameters>
<Docs>
<param name="managed">The managed object.</param>
<summary>Converts a managed object to a COM interface pointer for the COM interface represented by <typeparamref name="T" />.</summary>
<returns>The COM interface pointer.</returns>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="Free">
<MemberSignature Language="C#" Value="public static void Free (void* unmanaged);" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig void Free(void* unmanaged) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Runtime.InteropServices.Marshalling.UniqueComInterfaceMarshaller`1.Free(System.Void*)" />
<MemberSignature Language="F#" Value="static member Free : nativeptr<unit> -> unit" Usage="System.Runtime.InteropServices.Marshalling.UniqueComInterfaceMarshaller<'T>.Free unmanaged" />
<MemberSignature Language="C++ CLI" Value="public:
 static void Free(void* unmanaged);" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Runtime.InteropServices</AssemblyName>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
<AssemblyVersion>9.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="unmanaged" Type="System.Void*" />
</Parameters>
<Docs>
<param name="unmanaged">A COM interface pointer.</param>
<summary>Releases a reference to the COM interface pointer.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
</Members>
</Type>